namespace SmartMathLibrary.Statistics
{
    /// <summary>
    /// Interface to implement a TimeSeries class.
    /// </summary>
    public interface ITimeSeries
    {
        /// <summary>
        /// Gets or sets the data of the timeseries.
        /// </summary>
        /// <value>The data of the timeseries.</value>
        GeneralVector Data { get; set; }

        /// <summary>
        /// Gets or sets the <see cref="System.Double"/> at the specified index.
        /// </summary>
        /// <value>The value of the timeseries at the specified position.</value>
        double this[int index] { get; set; }

        /// <summary>
        /// Generates the index vector of the timeseries.
        /// </summary>
        /// <returns>The index vector of the timeseries</returns>
        GeneralVector GenerateIndexVector();
    }
}